// 知识点1：反向迭代器，加上r，反向迭代器需要的是递减运算符，操作会从cbegin()反向处理string
// 知识点2：rbegin()指向的是最后一个元素，rend()指向的是首元素之前的位置

// 知识点3：通过调用反向迭代器的base()成员函数，可以将其转换为对应的普通迭代器
#include <algorithm>
#include <functional>
#include <iostream>
#include <iterator>
#include <numeric>
#include <vector>

using namespace std;
using namespace placeholders; //占位符的命名空间

int main(int argc, char **argv) {
  int a[5] = {1, 2, 3, 4, 5};
  vector<int> day1(a, a + 5);
  //这里的++实际上是递减的
  for (auto it1 = day1.rbegin(); it1 != day1.rend(); ++it1) {
    cout << *it1 << " ";
  }
  return 0;
}